﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace VeinServerCsharp
{
    static class Program
    {
        /// <summary>
        /// 应用程序的主入口点。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            Application.Run(new Main());
        }
    //    /*设备相关指令*/
    //    int XG_CMD_CONNECTION = 0x01;//连接设备,必须带8位以上密码，默认密码全为0(0x30)
    //    int XG_CMD_CLOSE_CONNECTION = 0x02;//关闭连接
    //    int XG_CMD_GET_SYSTEM_INFO = 0x03;//获取版本号和设置信息
    //    int XG_CMD_FACTORY_SETTING = 0x04;//恢复出厂设置
    //    int XG_CMD_SET_DEVICE_ID = 0x05;//设置设备编号0-255
    //    int XG_CMD_SET_BAUDRATE = 0x06;//设置波特率0-4
    //    int XG_CMD_SET_SECURITYLEVEL = 0x07;//设置安全等级0-4
    //    int XG_CMD_SET_TIMEOUT = 0x08;//设置等待手指放入超时1-255秒
    //    int XG_CMD_SET_DUP_CHECK = 0x09;//设置重复登录检查0-1
    //    int XG_CMD_SET_PASSWORD = 0x0A;//设置通信密码
    //    int XG_CMD_CHECK_PASSWORD = 0x0B;//检查密码是否正确
    //    int XG_CMD_REBOOT = 0x0C;//复位重启设备
    //    int XG_CMD_SET_SAME_FV = 0x0D;//登记的时候检查是否为同一根手指
    //    int XG_CMD_SET_USB_MODE = 0x0E;//设置USB驱动模式 

    //    /*识别相关指令*/
    //    int XG_CMD_FINGER_STATUS = 0x10;//检测手指放置状态
    //    int XG_CMD_CLEAR_ENROLL = 0x11;//清除指定ID登录数据
    //    int XG_CMD_CLEAR_ALL_ENROLL = 0x12;//清除所有ID登录数据
    //    int XG_CMD_GET_EMPTY_ID = 0x13;//获取空（无登录数据）ID
    //    int XG_CMD_GET_ENROLL_INFO = 0x14;//获取总登录用户数和模板数
    //    int XG_CMD_GET_ID_INFO = 0x15;//获取指定ID登录信息
    //    int XG_CMD_ENROLL = 0x16;//指定ID登录
    //    int XG_CMD_VERIFY = 0x17;//1:1认证或1:N识别

    //    /******************************高级指令****************************************/
    //    /*数据读写相关指令*/
    //    int XG_CMD_READ_DATA = 0x20;//从设备读取数据
    //    int XG_CMD_WRITE_DATA = 0x21;//写入数据到设备
    //    int XG_CMD_READ_ENROLL = 0x22;//读取指定ID登录数据
    //    int XG_CMD_WRITE_ENROLL = 0x23;//写入（覆盖）指定ID登录数据
    //    int XG_CMD_GET_CHARA = 0x28;//采集并读取特征到主机 
    //    int XG_CMD_GET_DEBUG = 0x26;//读取调试信息
    //    int XG_CMD_READ_USER_DATA = 0x29;//从用户扩展存储区读取数据，最大4K
    //    int XG_CMD_WRITE_USER_DATA = 0x2A;//写入数据到用户扩展存储区，最大4K

    //    /******************************门禁扩展指令****************************************/
    //    /*门禁相关指令*/
    //    int XG_CMD_GET_DOORCTRL = 0x30;//获取门禁设置 
    //    int XG_CMD_SET_DOORCTRL = 0x31;//设置门禁设置
    //    int XG_CMD_OPEN_DOOR = 0x32;//开门
    //    int XG_CMD_READ_LOG = 0x33;//读取门禁出入日志
    //    int XG_CMD_SET_DEVNAME = 0x34;//设置设备名称
    //    int XG_CMD_GET_DATETIME = 0x35;//获取门禁实时时钟
    //    int XG_CMD_SET_DATETIME = 0x36;//设置门禁实时时钟
    //    int XG_CMD_KEY_CTRL = 0x37;//发送按键
    //    int XG_CMD_ENROLL_EXT = 0x38;//扩展语音登记
    //    int XG_CMD_VERIFY_EXT = 0x39;//扩展语音验证
    //    int XG_CMD_DEL_LOG = 0x3a;//删除门禁日志
    //    int XG_CMD_PLAY_VOICE = 0x3b;//播放语音
    //    int XG_CMD_GET_USER_NAME = 0x3C;//读取用户名称
    //    int XG_CMD_SET_USER_NAME = 0x3D;//修改写入用户名称
    //    int XG_CMD_GET_USER_CG = 0x3E;//读取用户卡号和组号 
    //    int XG_CMD_SET_USER_CG = 0x3F;//修改写入用户卡号和组号 
    //    int XG_CMD_GET_ADMIN_PWD = 0x41;//读取管理员密码
    //    int XG_CMD_SET_ADMIN_PWD = 0x42;//修改写入管理员密码 
    //    int XG_CMD_GET_USER_PWD = 0x43;//读取用户密码
    //    int XG_CMD_SET_USER_PWD = 0x44;//修改写入用户密码 

    //    /******************************错误代码****************************************/
    //    int XG_ERR_SUCCESS = 0x00;//操作成功
    //    int XG_ERR_FAIL = 0x01;//操作失败
    //    int XG_ERR_COM = 0x02;//通讯错误
    //    int XG_ERR_DATA = 0x03;//数据校验错误
    //    int XG_ERR_INVALID_PWD = 0x04;//密码错误
    //    int XG_ERR_INVALID_PARAM = 0x05;//参数错误
    //    int XG_ERR_INVALID_ID = 0x06;//ID错误
    //    int XG_ERR_EMPTY_ID = 0x07;//指定ID为空（无登录数据）
    //    int XG_ERR_NOT_ENOUGH = 0x08;//无足够登录空间
    //    int XG_ERR_NO_SAME_FINGER = 0x09;//不是同一根手指
    //    int XG_ERR_DUPLICATION_ID = 0x0A;//有相同登录ID
    //    int XG_ERR_TIME_OUT = 0x0B;//等待手指输入超时
    //    int XG_ERR_VERIFY = 0x0C;//认证失败
    //    int XG_ERR_NO_NULL_ID = 0x0D;//已无空ID
    //    int XG_ERR_BREAK_OFF = 0x0E;//操作中断 
    //    int XG_ERR_NO_CONNECT = 0x0F;//未连接
    //    int XG_ERR_NO_SUPPORT = 0x10;//不支持此操作
    //    int XG_ERR_NO_VEIN = 0x11;//无静脉数据 
    //    int XG_ERR_MEMORY = 0x12;//内存不足
    //    int XG_ERR_NO_DEV = 0x13;//设备不存在
    //    int XG_ERR_ADDRESS = 0x14;//设备地址错误
    //    int XG_ERR_NO_FILE = 0x15;//文件不存在
    //    int XG_ERR_VER = 0x16;//版本错误

    //    /******************************状态代码****************************************/
    //    int XG_INPUT_FINGER = 0x20;//请求放入手指
    //    int XG_RELEASE_FINGER = 0x21;//请求拿开手指

    //    enum key_e
    //    {
    //        K_D1 = 1,
    //        K_D2,
    //        K_D3,
    //        K_D4,
    //        K_D5,
    //        K_D6,
    //        K_D7,
    //        K_D8,
    //        K_D9,
    //        K_D0,
    //        K_OK,
    //        K_EXIT,
    //        K_UP,
    //        K_DOWN,
    //        K_GROUP,
    //        K_ID,
    //        K_ENROLL = 20,
    //        K_ENROLL_ADMIN,
    //        K_DEL,
    //        K_DEL_ALL,
    //        K_ALARM,
    //        K_OPENDOOR,
    //        K_ALARM_CLEAN,
    //        K_UNDEFINE
    //    };
    //    [DllImport("XGComApi.dll", EntryPoint = "XG_GetComApiVer")]
    //    public static extern int XG_GetComApiVer(string pver);

    }
}
